@寒
2年前 提问
1个回答
为什么会产生TCP拆包和粘包
Simon
2年前
产生TCP拆包和粘包的原因包括:
要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包;
接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包;
要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包;
待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。即TCP报文长度-TCP头部长度>MSS。
产生TCP拆包和粘包的原因包括:
要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包;
接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包;
要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包;
待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。即TCP报文长度-TCP头部长度>MSS。